package com.qeado.admin.service.impl;

import java.util.List;
import java.util.UUID;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.qeado.admin.dao.TypeCodeDao;
import com.qeado.admin.model.TypeCode;
import com.qeado.admin.service.TypeCodeService;

@Service
public class TypeCodeServiceImpl implements TypeCodeService{
	@Autowired
	private TypeCodeDao typeCodeDao;

	public void deleteTypeCode(String id) {
		typeCodeDao.deleteTypeCodeById(id);
	}

	public String saveTypeCode(TypeCode typeCode) {
		if(typeCode.getId() == null || "".equals(typeCode.getId())) {
			TypeCode temp = typeCodeDao.validateTypeCodeExists(typeCode);
			if(temp != null && !"".equals(temp.getTypeCode()) && temp.getTypeCode() != null) {
				return "该类别代码已经存在";
			}
			typeCode.setTypeCode(typeCode.getTypeCode());
			typeCode.setId(UUID.randomUUID().toString());
			typeCodeDao.insertTypeCode(typeCode);
		} else {
			typeCodeDao.updateTypeCode(typeCode);
		}
		return null;
	}

	public void saveTypeCodeDtl(String typeDtlName, TypeCode typeCode) {
		String code = typeCodeDao.getTypeCode(typeCode);
		typeCode.setTypeDtlCode(code);
		typeCode.setTypeDtlName(typeDtlName);
		typeCode.setDtlId(UUID.randomUUID().toString());
		typeCodeDao.saveTypeCodeDtl(typeCode);
	}

	public TypeCode searchTypeCodeById(String id) {
		return typeCodeDao.searchTypeCodeById(id);
	}

	public List<TypeCode> searchTypeCodeList(TypeCode typeCode) {
		return typeCodeDao.searchTypeCodeList(typeCode);
	}

	public List<TypeCode> searchTypeCodeListById(String id) {
		return typeCodeDao.searchTypeCodeListById(id);
	}

}
